package com.xiaoxu.privatechat.dao.common;

import com.xiaoxu.privatechat.entity.common.Account;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @description 用户数据库处理层
 * @author xiaoxu
 * @date 2023/2/13
 */
@Repository
public interface AccountDao extends JpaRepository<Account, Long>{
	
	/**
	 * @description 按照用户名查找用户信息
	 * @param username 用户名
	 * @return Account
	 */
	Account findByUsername(String username);

	/**
	 * @description 根据用户id查询
	 * @param id 用户id
	 * @return Account
	 */
	@Query("select a from Account a where a.id = :id")
	Account find(@Param("id")Long id);

	/**
	 * @description 根据反性别查询用户列表
	 * @param sex 性别
	 * @return List<Account>
	 */
	@Query("select a from Account a where a.sex != :sex")
	List<Account> findAllOppositeSexAccount(@Param("sex") Integer sex);
	
}
